草庐IT

C++ Qt 返回空 QString

全部标签

c++ GetCurrentThemeName 为经典 Windows 主题返回空值

当我为Windows7Basic风格调用GetCurrentThemeName()时,我得到“C:\windows\resources\Themes\Aero\Aero.msstyles”,但是当我为WindowsClassic风格调用它时或Windows高对比度风格,我得到空刺。这是预期的吗?如何在我的C++应用程序中区分Windows经典风格和Windows高对比度风格?谢谢,振亚 最佳答案 WindowsClassic和HighContrast都将禁用主题,因此完全需要一个空字符串。使用GetThemeAppPropertie

c# - EnumJobs 返回与 Marshal.SizeOF 不同的 JOB_INFO_1 大小

我正在从托管代码(C#)调用Win32函数EnumJobs(http://msdn.microsoft.com/en-us/library/windows/desktop/dd162625(v=vs.85).aspx)。[DllImport("Winspool.drv",SetLastError=true,EntryPoint="EnumJobsA")]publicstaticexternboolEnumJobs(IntPtrhPrinter,//handletoprinterobjectUInt32FirstJob,//indexoffirstjobUInt32NoJobs,//nu

c++ - windows下如何设置Qt程序的图标?

我已经使用.rc文件成功更改了窗口左上角的图标。但是,Windows文件系统中的图标与以前一样。我怎样才能改变它呢? 最佳答案 在Qt4中,您需要像这样创建一个.rc文件:IDI_ICON1ICONDISCARDABLE"myIcon.ico"您应该将其添加到您的.pro文件中:win32:RC_FILE+=MyApp.rc在Qt5中,有一个自动过程可以为应用程序可执行文件设置图标。您只需将以下内容添加到.pro文件中:win32:RC_ICONS=myIcon.ico还将.ico文件存储在应用程序的源代码目录中。

windows - 如何从 Windows 命令返回 bool 结果?

我在从另一个.vbs文件调用的.bat文件中有以下命令。我的要求是停止执行以下行,如果msbuild/t:clean没有毫无问题地完成执行,则通过将内容写回命令提示符或弹出窗口(首选弹出窗口)来通知用户。我想在后面添加一个if条件并执行msbuild/p:configuration=%1。成功完成后,我还想通过命令提示符或弹出警报通知用户整个过程是成功还是失败。这些能做到吗?call"%VS130COMNTOOLS%\vsvars32.bat"cdc:\working\developmsbuild/t:cleanmsbuild/p:configuration=%1

c++ - Qt 应用程序 : How to create standalone executable file for Windows (& Mac) from Mac?

我在MacBook(El-Capitan10.11.2)上开发了一个Qt应用程序,现在可以发布了。我现在想要的是为Mac和Windows操作系统创建独立的可执行文件。但是我不知道怎么办!我找到了这个link但我无法遵循它的指导,它看起来与我的系统显示的不同。如果你有任何想法,请帮助我。谢谢 最佳答案 好吧,要为Windows编译应用程序,您将需要一台Windows机器(或至少是一台虚拟机)。你不能在mac上为windows编译。关于“独立”:最简单的方法是将您的应用程序与所有必需的dll/框架一起部署,并将它们作为一个“包”发送。为

c++ - 为什么这个函数没有返回正确的值?

关闭。这个问题是notreproducibleorwascausedbytypos.它目前不接受答案。这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这个问题的解决方式不太可能帮助future的读者。关闭6年前。Improvethisquestion我创建了一个函数,将一个整数输入转换为另一个整数,然后返回。具体来说,它采用控制台颜色,并返回与输入具有相同背景但带有白色字符的相应颜色。此函数始终返回255。出了什么问题?intconvertColorToPlayerColor(intcolor){intplayerColor=0;if(colo

c - IsAdminUser 返回不正确的值

我正在使用Win32::IsAdminUser()函数(无法粘贴代码,因为要使其可运行,我必须粘贴整个代码)。它返回0,我很好奇为什么因为运行它的用户是Administrators组的成员,所以我创建了一个小测试函数(c++)并在运行IsAdminUser之前运行它这是代码:intdavai(){FILE*fp;fp=fopen("C:\\tmp\\davai.txt","a");fprintf(fp,"shevedidavai");fflush(fp);HANDLEtoken=NULL;HANDLEdupToken=NULL;if(!OpenProcessToken(GetCurre

c++ - 在 VC++ 中执行一个进程并返回它的标准输出

执行进程、等待它完成,然后将其标准输出作为字符串返回的最简单方法是什么?有点像Perl中的backtics。不是在寻找跨平台的东西。我只需要最快的VC++解决方案。有什么想法吗? 最佳答案 WinAPI解决方案:您必须使用重定向输入(STARTUPINFO结构中的hStdInput字段)和输出(hStdOutput)到您的管道(请参阅CreatePipe)创建进程(请参阅CreateProcess),然后只从管道中读取(请参阅ReadFile)。 关于c++-在VC++中执行一个进程并返

c - 为什么 MapViewOfFile 会为 rapidxml 返回一个不可用的指针?

如建议的那样:我有一个大于2giga的文件。我正在使用以下函数映射到内存:char*ptr=(char*)MapViewOfFile(map_handle,FILE_MAP_WRITE|FILE_MAP_READ,0,0,0);我将ptr解析为接受Ch*的rapidxml。根据rapidxml的文档,ptr应该是可修改的,但由于它被声明为char*类型,因此无法完成。程序编译但在运行时崩溃并出现以下错误:访问冲突。我发现在解析char*时会发生这种情况。请问我该如何解决这个问题? 最佳答案 您正在为MapViewOfFile()的最

c++ - 返回 char* 函数的内存管理

今天,我没有多想,写了一个简单的函数,根据给定枚举值的switch语句返回一个char*。然而,这让我想知道如何释放那段内存。我所做的是这样的:char*func(){char*retval=newchar[20];//Switchblahblah-willalwaysreturnsomevalueotherthanNULLsincedefault:returnretval;}如果这是一个天真的问题,我深表歉意,但是释放内存的最佳方式是什么,因为我无法在返回后删除内存,显然,如果我之前删除它,我将不会有返回值.我认为可行的解决方案是这样的voidfunc(char*&in){//bla